﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CI;
using CI.Caja.DL;
using CI.Caja.BE;

namespace CI.Caja.BL
{
   public class BL_Programacion : CI.Caja.BL.IBL_Programacion
    {
       IDA_Programacion ProgramacionDA = null;


       public BE_Programacion RegistrarProgramacion(string idProgramacion, string fecInicio, string fecFin, int idTurno,
            int idPersonal,
            int idDia,
            int idPtovta)
        {
            try
            {
                BE_Programacion ProgramacionBE=new BE_Programacion();
                ProgramacionBE.IdProgramacion =int.Parse(idProgramacion);
                //ProgramacionBE.FecInicio =DateTime.Parse(fecInicio);
                //ProgramacionBE.FecFin =DateTime.Parse( fecFin);
                ProgramacionBE.FecInicio = (fecInicio);
                ProgramacionBE.FecFin = (fecFin);
                ProgramacionBE.IdTurno = idTurno.ToString();
                ProgramacionBE.IdPersonal = idPersonal.ToString();
                ProgramacionBE.IdPuntoVenta = idPtovta;
                ProgramacionBE.IdSede = 1;
                ProgramacionBE.IdDia = idDia;
                ProgramacionBE.IdPuntoVenta = idPtovta;


                return ProgramacionDA.RegistrarProgramacion(ProgramacionBE);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    public   BE_Programacion ActualizarProgramacion(string idProgramacion,
                                                       string fecInicio,
             string fecFin,
             int idTurno,
             int idPersonal,
             int idDia,
             int idPtovta) {
                 try
                 {
                     BE_Programacion ProgramacionBE = new BE_Programacion();
                     ProgramacionBE.IdProgramacion = int.Parse(idProgramacion);
                     //ProgramacionBE.FecInicio = DateTime.Parse(fecInicio);
                     //ProgramacionBE.FecFin = DateTime.Parse(fecFin);
                     ProgramacionBE.FecInicio = (fecInicio);
                     ProgramacionBE.FecFin = (fecFin);
                     ProgramacionBE.IdTurno = idTurno.ToString();
                     ProgramacionBE.IdPersonal = idPersonal.ToString();
                     ProgramacionBE.IdDia = idDia;
                     ProgramacionBE.IdPuntoVenta = idPtovta;


                     return ProgramacionDA.ActualizarProgramacion(ProgramacionBE);
                 }
                 catch (Exception ex)
                 {
                     throw ex;
                 }
       
       }
        public ICollection<BE_Programacion> ListarProgramacion() {
            try
            {
                return ProgramacionDA.ListarProgramacion();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public BE_Programacion ObtenerProgramacion(int idProgramacion) {
            try
            {
                BE_Programacion programacionBE = new BE_Programacion();
                programacionBE.IdProgramacion = idProgramacion;
                return ProgramacionDA.ObtenerProgramacion(programacionBE);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public string ObtenerCodigo() {
            try
            {
                return ProgramacionDA.ObtenerCodigo();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public string ConvertDate(string fecha) {
            string formato="";
            string[] lista;
            if (fecha.IndexOf("-") > 0) {
                lista = fecha.Split('-');
            }
            else {
                lista = fecha.Split('/');
            }
            if (lista.Length == 3) {
                formato = String.Format("{0}-{1}-{2}", lista[2], lista[1], lista[0]);
            }
            return formato;
        }
        public int ValidaDuplicado(string fecInicio,
                string fecFin, int idPersonal,
                int idDia) {

                    BE_Programacion personalActualizado = new BE_Programacion();
                    try
                    {
                        personalActualizado.FecInicio = fecInicio;
                        personalActualizado.FecFin = fecFin;
                        personalActualizado.IdDia = idDia;
                        personalActualizado.IdPersonal = idPersonal.ToString();
                        return ProgramacionDA.ValidaDuplicado(personalActualizado);
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(ex.Message);
                    }
        }


    }
}
